From 750f6b9913c092fbadec5e2421c153536ef83004 Mon Sep 17 00:00:00 2001 From: Kalev Lember Date: Mon, 19 May 2014 13:19:11 +0200 Subject: [PATCH] GtkApplication: Fix two muxer-related memory leaks Drop the ref on the action muxer in finalize, and also make sure shutdown() tears down the muxer setup done in startup(). When GtkApplication adds itself to a muxer, it causes the muxer to take a ref on the GtkApplication. This has to be undone in shutdown() to make sure the GtkApplication doesn't end up holding a ref on itself. https://bugzilla.gnome.org/show_bug.cgi?id=730383 --- gtk/gtkapplication.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/gtk/gtkapplication.c b/gtk/gtkapplication.c index a777ec61e0..a8b99811c2 100644 --- a/gtk/gtkapplication.c +++ b/gtk/gtkapplication.c @@ -522,6 +522,8 @@ gtk_application_shutdown (GApplication *g_application) gtk_application_impl_shutdown (application->priv->impl); g_clear_object (&application->priv->impl); + gtk_action_muxer_remove (application->priv->muxer, "app"); + /* Keep this section in sync with gtk_main() */ /* Try storing all clipboard data we have */ @@ -767,6 +769,7 @@ gtk_application_finalize (GObject *object) g_clear_object (&application->priv->app_menu); g_clear_object (&application->priv->menubar); + g_clear_object (&application->priv->muxer); accels_finalize (&application->priv->accels); -- 2.30.2